package cn.cmcc.online.smsapi.ui.view;

import java.util.List;

import cn.cmcc.online.smsapi.ui.model.MetaData;
import cn.cmcc.online.smsapi.ui.model.TableData;
import cn.cmcc.online.smsapi.ui.model.TrainData;
import cn.cmcc.online.smsapi.ui.model.TransportSelectInfo;

public interface TrainVista extends Vista {
    /**
     * 显示火车卡片主视图
     *
     * @param trainData 火车数据
     * @param metaData  包含颜色，字体大小等
     */
    void showBody(TrainData trainData, MetaData metaData);

    /**
     * 显示火车卡片的动态表格视图
     *
     * @param dataList 表格列表数据
     */
    void showTable(List<TableData> dataList);

    /**
     * 显示火车卡片的提示或备注信息
     *
     * @param note 提示/备注
     */
    void showNote(String note);

    /**
     * 使能火车车次选择
     */
    void enableTrainSelect(MetaData metaData);

    /**
     * 火车车次不能选择
     */
    void disableTrainSelect();

    /**
     * 显示车次选择对话框
     *
     * @param selectInfo 对话框显示数据
     * @param selected   当前选择的车次索引
     */
    void showTrainSelect(TransportSelectInfo selectInfo, int selected);

    /**
     * 显示站点选择对话框
     *
     * @param selectInfo 对话框显示数据
     * @param selected   当前选择的车次索引
     */
    void showStationSelect(TransportSelectInfo selectInfo, int selected);


    /**
     * 火车车次选择后，更新action
     */
    void updateBottom();

}
